package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 健身记录对象 fit_exercise
 * 
 * @author ruoyi
 * @date 2025-05-14
 */
public class FitExercise extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 运动类型（如跑步、瑜伽） */
    @Excel(name = "运动类型", readConverterExp = "如=跑步、瑜伽")
    private String exerciseType;

    /** 持续时间（分钟） */
    @Excel(name = "持续时间", readConverterExp = "分=钟")
    private Long duration;

    /** 消耗卡路里（千卡） */
    @Excel(name = "消耗卡路里", readConverterExp = "千=卡")
    private BigDecimal caloriesBurned;

    /** 运动时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "运动时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date exerciseTime;

    /** 删除标志（0存在 1删除） */
    private String delFlag;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setExerciseType(String exerciseType) 
    {
        this.exerciseType = exerciseType;
    }

    public String getExerciseType() 
    {
        return exerciseType;
    }

    public void setDuration(Long duration) 
    {
        this.duration = duration;
    }

    public Long getDuration() 
    {
        return duration;
    }

    public void setCaloriesBurned(BigDecimal caloriesBurned) 
    {
        this.caloriesBurned = caloriesBurned;
    }

    public BigDecimal getCaloriesBurned() 
    {
        return caloriesBurned;
    }

    public void setExerciseTime(Date exerciseTime) 
    {
        this.exerciseTime = exerciseTime;
    }

    public Date getExerciseTime() 
    {
        return exerciseTime;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userId", getUserId())
            .append("exerciseType", getExerciseType())
            .append("duration", getDuration())
            .append("caloriesBurned", getCaloriesBurned())
            .append("exerciseTime", getExerciseTime())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
